package com.fau.cm.service;

import java.util.Map;

import org.apache.poi.ss.usermodel.Workbook;

import com.fau.cm.entity.MedicalAdmin;
import com.fau.cm.entity.MedicalCallPerforAnalysis;
import com.fau.cm.entity.MedicalCallTaskStatistics;
import com.fau.cm.util.Page;

/**
 * @desc 业绩分析接口
 * @author kangyj
 * @datetime 2014年12月9日,上午1:38:45
 */
public interface IperforAnalysisManagerService {

	/**
	 * @desc 员工业绩统计
	 * @param perforAnalysis 统计表对象
	 * @param admin 当前用户
	 * @param map 分页参数
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月9日,下午8:46:44
	 */
	public Page findStaffperforAnalysis(MedicalCallPerforAnalysis perforAnalysis, MedicalAdmin admin, Map<String, Object> map);
	
	/**
	 * @desc 小组业绩统计
	 * @param perforAnalysis 统计对象
	 * @param admin 当前用户
	 * @param map 分页参数
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月9日,下午9:02:53
	 */
	public Page findGroupPerforAnalysis(MedicalCallPerforAnalysis perforAnalysis, MedicalAdmin admin, Map<String, Object> map);
	
	/**
	 * @desc 中心业绩统计
	 * @param perforAnalysis 统计对象
	 * @param admin 当前用户
	 * @param map 分页参数
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月9日,下午9:03:41
	 */
	public Page findCenterPerforAnalysis(MedicalCallPerforAnalysis perforAnalysis, MedicalAdmin admin, Map<String, Object> map);
	
	/**
	 * @desc 分页查询员工任务统计
	 * @param taskStatistics
	 * @param admin
	 * @param map
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月10日,上午11:15:04
	 */
	public Page findStaffTaskStatistics(MedicalCallTaskStatistics taskStatistics, MedicalAdmin admin, Map<String, Object> map);
	
	/**
	 * @desc 导出员工任务统计
	 * @param admin
	 * @param taskStatistics
	 * @return Workbook
	 * @throws Exception 
	 * @author liy
	 * @datetime 2014年12月13日,下午6:02:38
	 */
	public Workbook exportStaffTaskStatistics(MedicalAdmin admin,MedicalCallTaskStatistics taskStatistics) throws Exception;
	
	/**
	 * @desc 导出员工业绩分析
	 * @param admin
	 * @param taskStatistics
	 * @return Workbook
	 * @throws Exception 
	 * @author liy
	 * @datetime 2014年12月13日,下午8:03:06
	 */
	public Workbook exportStaffperforAnalysis(MedicalAdmin admin,MedicalCallPerforAnalysis perforAnalysis) throws Exception;
	
	/**
	 * @desc 导出组业绩分析
	 * @param admin
	 * @param perforAnalysis
	 * @return Workbook
	 * @throws Exception 
	 * @author liy
	 * @datetime 2014年12月13日,下午11:31:12
	 */
	public Workbook exportGroupPerforAnalysis(MedicalAdmin admin,MedicalCallPerforAnalysis perforAnalysis) throws Exception;
	
	/**
	 * @desc 导出中心业绩分析
	 * @param admin
	 * @param perforAnalysis
	 * @return Workbook
	 * @throws Exception 
	 * @author liy
	 * @datetime 2014年12月14日,上午12:10:35
	 */
	public Workbook exportCenterPerforAnalysis(MedicalAdmin admin,MedicalCallPerforAnalysis perforAnalysis) throws Exception;
	
}
